using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using FreeSql.DataAnnotations;

namespace FreeSqlLearn {

	[JsonObject(MemberSerialization.OptIn), Table(DisableSyncStructure = true)]
	public partial class rq_work_request {

		/// <summary>
		/// 考勤ID
		/// </summary>
		[JsonProperty, Column(IsPrimary = true)]
		public Guid request_record_id { get; set; }

		/// <summary>
		/// 审批人ID
		/// </summary>
		[JsonProperty]
		public Guid? approval_id { get; set; }

		/// <summary>
		/// 审批不通过原因
		/// </summary>
		[JsonProperty, Column(DbType = "varchar(200)")]
		public string approve_not_through_reason { get; set; }

		/// <summary>
		/// 审批时间
		/// </summary>
		[JsonProperty]
		public DateTime? approve_time { get; set; }

		/// <summary>
		/// 0未申请销假  1已申请销假
		/// </summary>
		[JsonProperty]
		public int? cancel_request { get; set; }

		/// <summary>
		/// 教练ID
		/// </summary>
		[JsonProperty]
		public Guid? coach_id { get; set; }

		/// <summary>
		/// 创建时间
		/// </summary>
		[JsonProperty]
		public DateTime? created_date { get; set; }

		/// <summary>
		/// 请假报备天数
		/// </summary>
		[JsonProperty, Column(DbType = "decimal(6,0)")]
		public decimal? days { get; set; }

		/// <summary>
		/// 备注【如报备时忘打卡，出外勤等】
		/// </summary>
		[JsonProperty, Column(DbType = "varchar(100)")]
		public string remark { get; set; }

		/// <summary>
		/// 请假/报备结束日期
		/// </summary>
		[JsonProperty]
		public DateTime? request_end { get; set; }

		/// <summary>
		/// 请假/报备开始日期
		/// </summary>
		[JsonProperty]
		public DateTime? request_start { get; set; }

		/// <summary>
		/// 类型：1请假 2销假 3报备
		/// </summary>
		[JsonProperty]
		public int? request_type { get; set; }

		/// <summary>
		/// 状态  0已申请 1审批通过 2审批不通过
		/// </summary>
		[JsonProperty]
		public int? state { get; set; }

	}

}
